#include "msserif11b.h"
#include <nds.h>

using namespace WoopsiUI;

static const u16 MSSerif11b_glyphdata[414] = {
/* '!' */	0xFFF0,0xC000,
/* '"' */	0xFFF0,0x0000,0x0000,
/* '#' */	0x79EF,0xDE79,0xEFDE,0x7800,0x0000,
/* '$' */	0x33B7,0x8618,0x7B71,0x8000,
/* '%' */	0x70F6,0x6DB1,0xD80C,0x06E3,0x6D9B,0xC380,0x0000,0x0000,
/* '&' */	0x70D8,0xD870,0x70DF,0xDECC,0x7E00,0x0000,
/* ''' */	0xFC00,0x0000,
/* '(' */	0x6F6D,0xB6CD,0x8000,
/* ')' */	0xD9B6,0xDB7B,0x0000,
/* '*' */	0xDB9D,0xB000,0x0000,0x0000,
/* '+' */	0x0003,0x0CFC,0xC300,0x0000,0x0000,
/* ',' */	0x0000,0xF000,
/* '-' */	0x000E,0x0000,0x0000,
/* '.' */	0x0000,0xC000,
/* '/' */	0x6DB7,0xB6C0,0x0000,
/* '0' */	0x76F7,0xBDEF,0x7B70,0x0000,
/* '1' */	0x6E66,0x6666,0xF000,
/* '2' */	0x76C6,0x3333,0x1BF8,0x0000,
/* '3' */	0x76C6,0x370C,0x7B70,0x0000,
/* '4' */	0x19CE,0xF7EF,0xE318,0x0000,
/* '5' */	0xFE31,0xED8C,0x7B70,0x0000,
/* '6' */	0x76F1,0x8F6F,0x7B70,0x0000,
/* '7' */	0xFEF6,0x6319,0x8C60,0x0000,
/* '8' */	0x76F7,0xB76F,0x7B70,0x0000,
/* '9' */	0x76F7,0xB78C,0x6370,0x0000,
/* ':' */	0x0C00,0xC000,
/* ';' */	0x0C00,0xF000,
/* '<' */	0x0000,0x0773,0x0707,0x0000,0x0000,
/* '=' */	0x0000,0x00FC,0x0FC0,0x0000,0x0000,
/* '>' */	0x0000,0x3838,0x33B8,0x0000,0x0000,
/* '?' */	0x76F6,0x3331,0x8060,0x0000,
/* '@' */	0x3E31,0xB7FE,0xFF7F,0xBFDF,0xBE60,0x1F00,0x0000,
/* 'A' */	0x1818,0x3C3C,0x3C66,0x7E66,0xFF00,0x0000,
/* 'B' */	0xF9B6,0xDB79,0xB6DB,0xF800,0x0000,
/* 'C' */	0x7F3C,0x30C3,0x0C33,0x7800,0x0000,
/* 'D' */	0xF8D9,0x9B36,0x6CD9,0xB6F8,0x0000,0x0000,
/* 'E' */	0xFDB6,0x1E79,0xE61B,0xFC00,0x0000,
/* 'F' */	0xFDB6,0x1E79,0xE618,0xF000,0x0000,
/* 'G' */	0x7D9B,0x060D,0xF9B3,0x6678,0x0000,0x0000,
/* 'H' */	0xFF66,0x6666,0x7E66,0x6666,0xFF00,0x0000,
/* 'I' */	0xF666,0x6666,0xF000,
/* 'J' */	0x798C,0x6318,0xDEE0,0x0000,
/* 'K' */	0xFE6C,0x7870,0x7078,0x6C66,0xF700,0x0000,
/* 'L' */	0xF186,0x1861,0x861B,0xFC00,0x0000,
/* 'M' */	0xE1D8,0x6739,0xCE7F,0x9FE6,0xD9B6,0xF3C0,0x0000,0x0000,
/* 'N' */	0xEF66,0x7676,0x7E7E,0x6E6E,0xF600,0x0000,
/* 'O' */	0x7B3C,0xF3CF,0x3CF3,0x7800,0x0000,
/* 'P' */	0xF9B6,0xDB79,0x8618,0xF000,0x0000,
/* 'Q' */	0x7B3C,0xF3CF,0x3CF3,0x78E1,0xC000,
/* 'R' */	0xF8D9,0xB367,0x8F1B,0x36FE,0x0000,0x0000,
/* 'S' */	0x7FCC,0x633F,0xE000,
/* 'T' */	0xFFF3,0x0C30,0xC30C,0x7800,0x0000,
/* 'U' */	0xFF66,0x6666,0x6666,0x6666,0x3C00,0x0000,
/* 'V' */	0xFF66,0x6666,0x3C3C,0x3C18,0x1800,0x0000,
/* 'W' */	0xF3D8,0x6619,0xB66D,0x9FE7,0xF8CC,0x3300,0x0000,0x0000,
/* 'X' */	0xFF66,0x3C3C,0x183C,0x3C66,0xFF00,0x0000,
/* 'Y' */	0xFF66,0x663C,0x3C18,0x1818,0x3C00,0x0000,
/* 'Z' */	0xFF31,0x8631,0x8633,0xFC00,0x0000,
/* '[' */	0xFB6D,0xB6DB,0x8000,
/* '\' */	0xDB6C,0xDB60,0x0000,
/* ']' */	0xEDB6,0xDB6F,0x8000,
/* '^' */	0x76C0,0x0000,0x0000,0x0000,
/* '_' */	0x0000,0x0000,0x0000,0x000F,0xC000,
/* '`' */	0xCC00,0x0000,0x0000,
/* 'a' */	0x0000,0xE1BF,0x7B78,0x0000,
/* 'b' */	0xE186,0x1E6D,0xB6DB,0x3800,0x0000,
/* 'c' */	0x0000,0xEDE3,0x1B70,0x0000,
/* 'd' */	0x38C6,0xFDEF,0x7B78,0x0000,
/* 'e' */	0x0000,0xEDFF,0x1B70,0x0000,
/* 'f' */	0x366F,0x6666,0x7000,
/* 'g' */	0x0000,0xFDEF,0x7B78,0xDC00,
/* 'h' */	0xE186,0x1E6D,0xB6DB,0x6C00,0x0000,
/* 'i' */	0x6076,0xDB60,0x0000,
/* 'j' */	0x6076,0xDB6F,0x0000,
/* 'k' */	0xE186,0x1B79,0xC71E,0x6C00,0x0000,
/* 'l' */	0xEDB6,0xDB60,0x0000,
/* 'm' */	0x0000,0x001F,0xE6DB,0x6DB6,0xDB6D,0x8000,0x0000,
/* 'n' */	0x0000,0x3E6D,0xB6DB,0x6C00,0x0000,
/* 'o' */	0x0000,0xEDEF,0x7B70,0x0000,
/* 'p' */	0x0000,0x3E6D,0xB6DB,0x798F,0x0000,
/* 'q' */	0x0000,0xEDEF,0x7B78,0xCE00,
/* 'r' */	0x0001,0xF7B1,0x8C70,0x0000,
/* 's' */	0x0007,0xC633,0xE000,
/* 't' */	0x066F,0x6666,0x3000,
/* 'u' */	0x0000,0x3F6D,0xB6DB,0x3C00,0x0000,
/* 'v' */	0x0000,0x33CD,0xE78C,0x3000,0x0000,
/* 'w' */	0x0000,0x00FF,0xDBFF,0xFF66,0x6600,0x0000,
/* 'x' */	0x0000,0x3F78,0xC31E,0xFC00,0x0000,
/* 'y' */	0x0001,0xBDEF,0x6E63,0x3000,
/* 'z' */	0x0001,0xFD99,0x9BF8,0x0000,
/* '{' */	0x3666,0x6C66,0x6630,
/* '|' */	0x3FFF,0xF000,
/* '}' */	0xC666,0x6366,0x66C0,
/* '~' */	0x7FE0,0x0000,0x0000,0x0000,0x0000,
/* 0x7F */	0x1FFF,0xFFFC,0x0000,
};

static const u16 MSSerif11b_offset[95] = {
    0,    2,    5,   10,   14,   22,   28,   30,   33,   36,   40,   45,   47,   50,   52,   55,
   59,   62,   66,   70,   74,   78,   82,   86,   90,   94,   96,   98,  103,  108,  113,  117,
  124,  130,  135,  140,  146,  151,  156,  162,  168,  171,  175,  181,  186,  194,  200,  205,
  210,  215,  221,  224,  229,  235,  241,  249,  255,  261,  266,  269,  272,  275,  279,  284,
  287,  291,  296,  300,  304,  308,  311,  315,  320,  323,  326,  331,  334,  341,  346,  350,
  355,  359,  363,  366,  369,  374,  379,  385,  390,  394,  398,  401,  403,  406,  411
};

static const u8 MSSerif11b_width[95] = {
 2, 4, 6, 5,10, 8, 2, 3, 3, 5, 6, 2, 3, 2, 3, 5,
 4, 5, 5, 5, 5, 5, 5, 5, 5, 2, 2, 6, 6, 6, 5, 9,
 8, 6, 6, 7, 6, 6, 7, 8, 4, 5, 8, 6,10, 8, 6, 6,
 6, 7, 4, 6, 8, 8,10, 8, 8, 6, 3, 3, 3, 5, 6, 3,
 5, 6, 5, 5, 5, 4, 5, 6, 3, 3, 6, 3, 9, 6, 5, 6,
 5, 5, 4, 4, 6, 6, 8, 6, 5, 5, 4, 2, 4, 6, 3
};

MSSerif11b::MSSerif11b(u8 fixedWidth) : PackedFont1 (
	33,
	127,
	MSSerif11b_glyphdata,
	MSSerif11b_offset,
	MSSerif11b_width,
	12,
	3,
	8,
	10
) {
	if (fixedWidth) setFontWidth(fixedWidth);
};
